import Vue from 'vue'
import VueRouter from 'vue-router'
import routes from './routes'
import { isAuth } from '../untils/auth'

Vue.use(VueRouter)

// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题

const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}




let router=new VueRouter({
    mode:'history',
    routes
})


// router.beforeEach((to, from, next) => {
//     let isLogin = global.isLogin;
   
//    if(to.path=='/login'||to.path=='/dashboard'){
//        return next();
//    }
//    const tokenStr = localStorage.getItem('accessToken')
//    if(!tokenStr) {
       
//     // return next('/login')
//     router.push('/login')
//    }else{
//        if(to.path==='/login'){
//        if(isLogin){
//            return next('/')
//        }
//     }
//    }

  
//  next()
   
   
   
//   })

// router.beforeEach((to, from, next) => {
    
//     // to: Route: 即将要进入的目标 路由对象
//     // from: Route: 当前导航正要离开的路由
//     // next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
  
    
//     let isLogin = global.isLogin;  // 是否登录
//     // 未登录状态；当路由到nextRoute指定页时，跳转至login
//     if (to.path!=='/login') {  
//       if (!isLogin) {
       
//        next('/login')

//       }
//     }
//     // 已登录状态；当路由到login时，跳转至home 
//     if (to.path === '/login') {
//       if (isLogin) {
//         next('/')
//       }
//     }
//     next();
//   });


router.beforeEach((to, from, next) => {
    // 判断to路由去到的是不是登录界面，如果是，要判断当前有无登录（已经登录，则直接去到首页，否则放行）
    // 如果to路由去的不是登录界面，也有两种情况

    let isLogined = isAuth()

    if (to.path === '/login') {
        if (isLogined) {
            next('/')
        } else {
            next()
        }
    } else {
        if (isLogined) {
            next()
        } else {
            next('/login')
        }
    }
})

export default router